package com.pshcp.domain.model;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 患者预约表
 * </p>
 *
 * @author auto generator
 * @since 2022-11-12
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Table(name = "t_patient_reserve_record")
public class PatientReserveRecord implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    /**
     * 操作类型  0：治疗预约  1：手术预约
     */
    private Integer handleType;

    /**
     * 类型 0入院，1手术，2激光治疗，3瘢痕治疗，4皮肤治疗，5口腔，6门诊拆线换药，7住院注水，8住院拆线换药，9急诊拆线换药
     */
    private Integer type;

    /**
     * 审核类型
     * 0：无须审核
     * 1：患者提申请->医生确认
     * 2：医生提申请->患者确认->医生再确认
     * 3：医生提申请->通知患者
     * 4：医生提申请->科秘确认->患者确认
     */
    private Integer approvalType;

    /**
     * 审核状态 0审核中 1审核完成
     */
    private Integer approvalStatus;

    /**
     * his对接医生Id
     */
    private String accessDocId;
    /**
     * 医生id
     */
    private Long doctorId;

    private String doctorName;

    /**
     * his接患者Id
     */
    private String accessPatId;
    /**
     * 患者id
     */
    private Long patientUserId;
    /**
     * 患者id
     */
    private Long patientId;

    /**
     * 患者名称
     */
    private String patName;

    /**
     * 就诊卡类型
     */
    private Integer patCardType;

    /**
     * 就诊卡号
     */
    private String patCardNo;

    /**
     * 院区Id 全部：0 西院：1 东院: 2
     */
    private Integer hosDistId;

    /**
     * 对接科室ID
     */
    private String accessDeptId;

    /**
     * 科室ID
     */
    private Long deptId;

    /**
     * 科室名称
     */
    private String deptName;

    /**
     * 治疗日期 yyyy-MM-dd
     */
    private String treatmentDate;

    /**
     * 预约起始时间 格式:HH:mm
     */
    private String startTime;

    /**
     * 预约截止时间 格式:HH:mm
     */
    private String endTime;

    /**
     * 治疗地点编码
     */
    private String treatmentLocationCode;
    /**
     * 治疗地点
     */
    private String treatmentLocation;

    /**
     * 病房
     */
    private String ward;

    /**
     * 一级治疗项目编码
     */
    private String itemCode;
    /**
     * 治疗内容
     */
    private String treatmentItem;

    /**
     * 二级项目编码
     */
    private String itemSubItem;

    /**
     * 注意事项
     */
    private String precautions;

    /**
     * 状态 0审核中 1审核完成 2项目进行中 3完成 4取消
     */
    private Integer bizStatus;

    /**
     * 状态 0正常 1删除
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createdTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 0未提交 1 init 2 cancel
     */
    private Integer accessReserveStatus;
    /**
     * his预约单号
     */
    private String accessReserveNo;

    /**
     * 预约时间
     */
    private Date accessReserveInitTime;

    /**
     * 预约取消时间
     */
    private Date accessReserveCancelTime;
    /**
     * 手术诊断
     */
    private String diagnose;

    private String diagnoseName;

    private String operationNameCode;

    private String operationName;
}
